home *** CD-ROM | disk | FTP | other *** search
/ Softdisk Supreme / Softdisk Supreme.iso / pc / DSK Files / 0-49 / SD021b.dsk / BUDGET ANALYSIS.bas < prev    next >
BASIC Source File  |  2003-06-12  |  3KB  |  80 lines

  1. 5  REM  *** BUDGER ANALYSIS ***
  2. 10  REM VERSION CURRENT 031283
  3. 11  REM <CTRL-M><CTRL-M><CTRL-M>  BY ALAN LACY<CTRL-M>     16667 SE 17<CTRL-M>     BELLEVUE, WA 98008<CTRL-J>
  4. 50 D$ =  CHR$(4)
  5. 56  PRINT D$;"NOMON I,O,C"
  6. 80  GOTO 400
  7. 99  REM <CTRL-M><CTRL-M><CTRL-M>*** DECIMAL JUSTIFY ***<CTRL-J>
  8. 100  IF  ABS(P) <.5  THEN P$ = "      ": GOTO 130
  9. 110 P =  SGN(P) * INT( ABS(P) +.5):P$ =  STR$( SGN(P) *( ABS(P) +.5)):P$ =  LEFT$(P$, LEN(P$) -2)
  10. 130  IF  LEN(P$) > = 6  THEN 150
  11. 140 P$ = " " +P$: GOTO 130
  12. 150  RETURN 
  13. 299  REM <CTRL-M><CTRL-M><CTRL-M>*** DISK READ ***<CTRL-J> 
  14. 300  PRINT D$;"OPEN";MO$;".DATA"
  15. 310  PRINT D$;"READ";MO$;".DATA"
  16. 320  INPUT N
  17. 325  FOR I = 0 TO N
  18. 327  INPUT DU$
  19. 330  INPUT DU,DU,CR(I),DB(I),DU,DU
  20. 335  INPUT DU,DU,DU,TD(I)
  21. 340  NEXT 
  22. 370  PRINT D$;"CLOSE"
  23. 380  RETURN 
  24. 400  DIM TD$(30),MO$(12)
  25. 403  FOR I = 1 TO 30: READ TD$(I): NEXT 
  26. 410  FOR I = 1 TO 12: READ MO$(I): NEXT 
  27. 499  REM <CTRL-M><CTRL-M><CTRL-M>*** MAIN PROGRAM ***<CTRL-J>
  28. 500  CALL  -936: VTAB 4: INPUT "GIVE YEAR FOR REPORT ";YR$:YR$ =  RIGHT$(YR$,2)
  29. 510  PRINT : INPUT "GIVE STARTING MONTH (1-12): ";SM: IF SM <1  OR SM >12  THEN 510
  30. 512  PRINT : INPUT "ENDING MONTH (1-12): ";EM: IF EM <0  OR EM >12  THEN 512
  31. 515 NM = EM -SM +1: IF NM <0  THEN  PRINT : PRINT "MONTHS CAN ONLY BE WITHIN A GIVEN YEAR. ENDING MONTH MUST BE GREATER THAN OR    EQUAL TO STARTING MONTH": GOTO 510
  32. 520  DIM TR(30,NM),CR(70),DB(70),TD(70)
  33. 530  DIM RT(30),CT(NM)
  34. 550  FOR M = SM TO EM
  35. 555 MO$ = MO$(M) +YR$: PRINT "LOADING ";MO$: GOSUB 300
  36. 560  FOR I = 1 TO 30
  37. 565  FOR J = 1 TO N
  38. 570  IF I = TD(J)  THEN TR(I,M) = TR(I,M) +CR(J) -DB(J)
  39. 575  NEXT J: NEXT I: NEXT M
  40. 580  FOR I = 1 TO 30
  41. 581  FOR M = SM TO EM
  42. 582 RT(I) = RT(I) +TR(I,M)
  43. 583  NEXT M,I
  44. 585  FOR M = SM TO EM
  45. 586  FOR I = 1 TO 30
  46. 587 CT(M) = CT(M) +TR(I,M)
  47. 588  NEXT I,M
  48. 590  FOR I = 1 TO 30
  49. 592 GT = GT +RT(I): REM  GRAND TOTAL
  50. 594  NEXT 
  51. 600  PRINT D$;"PR#1"
  52. 605  PRINT  CHR$(17) + CHR$(29): REM  SELECT PRINTER + 10 CHAR/INCH
  53. 610  PRINT  TAB( 5)"BUDGET ANALYSIS FOR HOME LEDGER": PRINT : PRINT  TAB( 30)YR$: PRINT 
  54. 612  PRINT  CHR$(31): REM  16.5 CHAR/INCH
  55. 613  PRINT "DESCRIPTION";: FOR M = SM TO EM: POKE 36,(M -SM +1) *6 +17: PRINT MO$(M);: NEXT : PRINT "     TOTALS"
  56. 615  FOR I = 1 TO 30
  57. 620  PRINT TD$(I);
  58. 625  FOR M = SM TO EM
  59. 630  POKE 36,(M -SM +1) *6 +14
  60. 640 P = TR(I,M): GOSUB 100:TR$ = P$
  61. 645  PRINT TR$;
  62. 650  IF M = EM  THEN P = RT(I): GOSUB 100: PRINT  SPC( 4)P$
  63. 655  NEXT M: NEXT I
  64. 660  PRINT : PRINT "    TOTALS:";
  65. 662  FOR M = SM TO EM
  66. 663 P = CT(M): GOSUB 100
  67. 664  POKE 36,(M -SM +1) *6 +14: PRINT P$;
  68. 666  NEXT M: PRINT GT
  69. 690  PRINT  CHR$(12) + CHR$(19): REM  FORM FEED + DESELECT PRINTER
  70. 695  PRINT D$;"PR#0"
  71. 700  PRINT D$;"RUN HOME LEDGER"
  72. 899  REM <CTRL-M><CTRL-M><CTRL-M>*** CATALOG ***<CTRL-J>
  73. 900  PRINT D$;"CATALOG"
  74. 910  RETURN 
  75. 4999  REM <CTRL-M><CTRL-M><CTRL-M>*** DATA STATEMENTS ***<CTRL-J>
  76. 5000  DATA  1. AUTO INSURANCE,2. AUTO EXPENSE,3. BOOKS/MAGS,4. BUSINESS EXP.,5. CLOTHING,6. CREDIT CARD
  77. 5010  DATA  7. DONATIONS,8. ELECTRICITY,9. ENTERTAINMENT,10. FED WITH TAX,11. FICA,12. FOOD,13. GASOLINE,14. GIFTS
  78. 5020  DATA  15. HEATING,16. HOBBY,17. HOME MAINT,18. INTEREST INCOME,19. MISC EXPENSE,20. MISC INCOME
  79. 5030  DATA   21. MORTGAGE,22. PETTY CASH,23. RETIRE (IRA),24. RETIRE (WORK),25. TELEPHONE,26. UNION DUES,27. VACATION,28. WAGES,29. WASTE-GARBAGE,30. WATER-SEWAGE
  80. 6000  DATA  JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC